import redis
import logging


class Config():
    """配置信息"""
    #  默认⽇志等级
    LOG_LEVEL = logging.DEBUG

    #  添加session密匙
    SECRET_KEY = "EjpNVSNQTyGi1VvWECj9TvC/+kq3oujee2kTfQGs8yCM6xX9Yjq52v54g+HVoknA"
    #  mysql数据库相关配置
    SQLALCHEMY_DATABASE_URI = "mysql://root:mysql@127.0.0.1:3306/news"
    SQLALCHEMY_TRACK_MODIFICATIONS = True
    #  添加redis相关配置
    REDIS_HOST = "127.0.0.1"
    REDIS_PORT = 6379
    #  添加flask_session的相关配置
    #  指定session到redis中
    SESSION_TYPE = 'redis'
    #  session_id加密处理
    SESSION_USE_SIGNER = True
    #  使用redis实例
    SESSION_REDIS = redis.StrictRedis(host=REDIS_HOST, port=REDIS_PORT)
    #  设置session的有效期　单位为秒
    PERMANENT_SESSION_LIFETIME = 86400
    # 在请求结束时候，如果指定此配置为 True ，那么 SQLAlchemy 会自动执行一次 db.session.commit()操作
    SQLALCHEMY_COMMIT_ON_TEARDOWN = True


class DevelopmentConfig(Config):
    """开发模式下的配置"""
    DEBUG = True


class ProductionConfig(Config):
    """生产模式下的配置"""
    DEBUG = False
    LOG_LEVEL = logging.ERROR


# 定义配置字典
config = {
    "development": DevelopmentConfig,
    "production": ProductionConfig

}
